package com.hskn.hss.module.elementtotal.service;

import com.alibaba.fastjson.JSONObject;
import com.hskn.hss.core.domain.BaseEntity;
import com.hskn.hss.exception.HssException;
import com.hskn.hss.exception.ProgramTerminationException;
import com.hskn.hss.module.elementtotal.vo.*;
import com.hskn.hss.module.tlcar.entity.TlCar;
import com.hskn.hss.module.tlcar.vo.CarJobType;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 服务类
 * </p>
 *
 * @author hskn
 * @since 2021-05-15
 */
public interface ElementTotalService {
    List getTotalNum(JSONObject params) throws HssException;

    JSONObject getNumByType(JSONObject params) throws HssException;

    JSONObject getAddrForMap(JSONObject params) throws HssException;

    JSONObject getAddrForMapByType(JSONObject params) throws HssException;

    List getTrashCleanMap(JSONObject params) throws HssException;

    List getToiletNumMap(JSONObject params) throws HssException;

    List getToiletDetailMap(JSONObject params) throws HssException;

    List getToiletStatusNumMap(JSONObject params) throws HssException;

    Map<String, Integer> getGreenAreaMap(JSONObject params) throws HssException;

    List getParkDetailMap(JSONObject params) throws HssException;

    List getAciTreeDetailMap(JSONObject params) throws HssException;

    Map<String, Integer> getGreenStatusMap(JSONObject params) throws HssException;

    List getSensorStatusMap(JSONObject params) throws HssException;

    Map getVideoMap(JSONObject params) throws HssException;

    JSONObject getVideoMapList(BaseEntity entity, JSONObject params) throws HssException;

    List getCarDetailByid(JSONObject params) throws HssException;

    Map getFaclAlarmNum() throws HssException;

    List getCarLocation(JSONObject params) throws Exception;

    List getEmpLocation(JSONObject params) throws Exception;

    List getSearchList(EmpAndCarAndFaclTo parameterVo) throws Exception;

    Map getHummanTotal(JSONObject params) throws Exception;

    List<DTUDataMap> getDtuByFaclId(String facId) throws ProgramTerminationException;
    List<Map> getManholeCoverByFaclId(String facId) throws ProgramTerminationException;

    List<Map<String, Object>> getCarMoveStay(JSONObject params) throws Exception;

    List getPersonMoveStay(JSONObject params) throws Exception;

    JSONObject getTrashTree(JSONObject params) throws Exception;

    List<EmpSearchListVo> getEmpSearchList(EmpAndCarAndFaclTo empAndCarAndFaclTo) throws Exception;

    List<CarSearchListVo> getCarSearchList(EmpAndCarAndFaclTo empAndCarAndFaclTo) throws Exception;

    List<FaclSearchListVo> getFaclSearchList(EmpAndCarAndFaclTo empAndCarAndFaclTo) throws Exception;

    WorkTypeNumberVo getWorkTypeNumber(JSONObject params) throws HssException;

    CarWorkTypeNumberVo getCarTypeNumber(JSONObject params) throws HssException;

    ElementsList elementsList(JSONObject params) throws HssException;

     CarJobType getCarJobType(TlCar tlCar) throws HssException;

    ElementsListByAppVo getElementsListByApp();
}
